home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).do / AMPM.bas next >
BASIC Source File  |  1996-12-24  |  3KB  |  34 lines

  1. 0  PRINT "<CTRL-I>80N"
  2. 1  REM AMPM
  3. 2  HOME : INVERSE : PRINT "    SUNRISE, SUNSET, DAWN AND DUSK             BY JOHN EARL PICKERING M.D.      ": NORMAL : POKE 34,2
  4. 3  REM ALMANAC FOR COMPUTERS 1982  NAUTICAL ALMANAC OFFICE     U.S. NAVAL OBSERVATORY      WASHINGTON D.C. 20390     SUNRISE & SUNSET  ZZ=-.01454CIVIL TWILIGHT    ZZ=-.10453NAUTICAL TWILIGHT ZZ=-.20791ASTRONOMICAL  " " ZZ=-.30902            
  5. 5 ZZ(1) =  -.01454:ZZ(2) =  -.10453:ZZ(3) =  -.20791:ZZ(4) =  -.30902
  6. 7 SU$(1) = "SUNRISE & SUNSET":SU$(2) = "CIVIL TWILIGHT":SU$(3) = "NAUTICAL TWILIGHT":SU$(4) = "ASTRONOMICAL TWILIGHT"
  7. 9  PRINT "<CTRL-I>80N","<CTRL-N>"
  8. 11  HOME : VTAB 6: PRINT "YOU MUST ENTER LONGITUDE AND LATITUDE ": INVERSE : PRINT : PRINT "YOU MAY PRESS <RETURN> FOR PHILA LO & LA": NORMAL : INPUT "LONGITUDE......";LO$:LO =  VAL(LO$)
  9. 12  IF LO$ = ""  THEN LO = 75.16: CALL  -998: HTAB 1: CALL  -868: PRINT "LONGITUDE.........................";LO
  10. 13  INPUT "LATITUDE.......";LT$:LT =  VAL(LT$)
  11. 17  IF LT$ = ""  THEN LT = 40: CALL  -998: HTAB 1: CALL  -868: PRINT "LATITUDE..........................";LT
  12. 19  VTAB 13: INPUT "MONTH ";D(4): VTAB 13: HTAB 12: INPUT "DAY ";D(2): VTAB 13: HTAB 24: INPUT "YEAR EX.(82) ";D$(6)
  13. 21  PRINT 
  14. 30  REM SU$NRISE/SU$NSET ROUTINE
  15. 55185  FOR U = 1 TO 4
  16. 55186 LO = LO/15:PI = 3.1415927/180:CO = 57.2958
  17. 55187 N =  INT(275 *D(4)/9) - INT((D(4) +9)/12) *(1 + INT((( VAL(D$(6)) +1900) -4 * INT(( VAL(D$(6)) +1900)/4) +2)/3)) +D(2) -30
  18. 55188 T = N +(6 +4.95)/24: FOR X = 0 TO 1:T(X) = N +(6 +(12 *(X = 1)) +LO)/24:M(X) = .9856 *T(X) -3.289:L(X) = M(X) +1.916 * SIN(M(X) *PI) +.02 * SIN(2 *M(X) *PI) +282.634: IF L(X) >360  THEN L(X) = L(X) -360
  19. 55189 R(X) = (.91746 * TAN(L(X) *PI)):R(X) = CO * ATN(R(X)):: IF R(X) <0  THEN R(X) = R(X) +180
  20. 55190 R(X) = R(X)/15:D1(X) = .39782 * SIN(L(X) *PI):D2(X) =  ATN(D1(X)/ SQR( -D1(X) *D1(X) +1)):X(X) = (ZZ(U) -D1(X) * SIN(LT *PI))/( COS(D2(X)) * COS(LT *PI)):X(X) =  - ATN(X(X)/ SQR( -X(X) *X(X) +1)) +1.5708
  21. 55191 X(X) = X(X) *CO:H(0) = 360 -X(0):H(1) = X(1):H(X) = H(X)/15
  22. 55192 T(X) = H(X) +R(X) -.065710 *T -6.622: IF T(1) <0  THEN T(1) = 24 +T(1)
  23. 55193  IF T(0) <0  THEN T(0) = T(0) +12
  24. 55194  IF T(0) >12  THEN T(0) = T(0) -12
  25. 55195  IF T(1) <12  THEN T(1) = T(1) +12
  26. 55196 T$(X) =  STR$(T(X)):A$(X) = "": FOR Y = 1 TO 10: IF  MID$ (T$(X),Y,1) = "."  THEN I = Y:Y = 10: GOTO 55198
  27. 55197 A$(X) = A$(X) + MID$ (T$(X),Y,1)
  28. 55198  NEXT 
  29. 55199 AM =  VAL(A$(0)):PM =  VAL(A$(1))
  30. 55200 A(X) =  VAL( MID$ (T$(X),I,(10 -I))):A(X) = 60 *A(X):AN =  INT(A(0)):PN =  INT(A(1))
  31. 55201  NEXT 
  32. 55202  PRINT AM;":";AN;: HTAB 6: PRINT "AM";: HTAB 10: PRINT PM -12;":";PN;: HTAB 15: PRINT "PM ";: HTAB 20: PRINT SU$(U)
  33. 55203  NEXT 
  34. 55205  VTAB 24: INVERSE : PRINT "******PRESS ANY KEY TO CONTINUME*******";: NORMAL : CALL  -756: GOTO 11